No, this was something I did along time ago once for someone.

Actually looking at what I did again, its been so long, it was for automaticly making small pages using [newpage], though it could be easily modified to do more

Code:
$letters = strlen($pag['page_text']);
$i=4500; //number of letters after which to add [more]
while ($i < $letters)
{
if ($pag['page_text'][$i]==" ")
{
$pag['page_text'] = substr_replace($pag['page_text'],'[more]',$i,0);
break;
}
else{
$i++;
}
}




As one flexible function:
PHP Code:

// Cutpost
function sed_cutpost($text, $max_chars, $parse_bbcodes = true)
{
    $text = $max_chars == 0 ? $text : sed_cutstring(strip_tags($text), $max_chars);
    // Fix partial cuttoff
    $text = preg_replace('#\[[^\]]*?$#', '...', $text);
    // Parse the BB-codes or skip them
    if($parse_bbcodes)
    {
        // Parse it
        $text = sed_parse($text);
    }
    else $text = preg_replace('#\[[^\]]+?\]#', '', $text);
    return $text;
}